/**
 * 给定数组A和L、R
 * 求Xi，使得所有[L...R]之间的数y满足
 * |Xi - Ai| <= |y - Ai|
 * 如果Ai在[L...R]中，直接取Ai即可
 * 否则根据上下界取一下
 */
#include <bits/stdc++.h>
using namespace std;

#include <bits/extc++.h>
using namespace __gnu_pbds;

using vi = vector<int>;

int N, L;
int R;
vi A;


int main(){
#ifndef ONLINE_JUDGE
    freopen("z.txt", "r", stdin);
#endif
    ios::sync_with_stdio(false);cin.tie(nullptr);cout.tie(0);
    cin >> N >> L >> R;
    A.assign(N, 0);
    for(auto & i : A) cin >> i;
    for(auto i : A){
        if(i > R) cout << R << " ";
        else if(i < L) cout << L << " ";
        else cout << i << " ";
    }
    cout << endl;
    return 0;
}